<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <script>
    console.log('script start') // 1

    async function async1() {
      await async2()
      console.log('async1 end') // 5
      // async2().then(() => console.log('async1 end'))
    }
    async function async2() {
      console.log('async2 end') // 2
    }
    async1()

    setTimeout(function () {
      console.log('setTimeout') // 8
    }, 0)

    new Promise(resolve => {
      console.log('Promise') // 3
      resolve()
    })
      .then(function () {
        console.log('promise1') // 6
      })
      .then(function () {
        console.log('promise2') // 7
      })

    console.log('script end') // 4

  </script>
</body>

</html>